package messagepack; import android.util.Log; import org.msgpack.MessagePack; import org.msgpack.unpacker.Unpacker; import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileInputStream; public class ParamUnpacker { public Object[] unpackerFunction(String paramFilePath, Class[] classTypes) { Object[] objects = new Object[2]; try { Unpacker unpacker = read_parameters_MessagePack_Init(paramFilePath); objects[0] = unpacker.read(classTypes[0]); objects[1] = unpacker.read(classTypes[1]); unpacker.close(); unpacker = null; } catch (Exception e) { Log.d("MessagePack Exception:", e.getMessage()); return null; } return objects; } public Object unpackerFunction(String paramFilePath, Class classType) { Object convParams; try { Unpacker unpacker = read_parameters_MessagePack_Init(paramFilePath); convParams = unpacker.read(classType); unpacker.close(); } catch (Exception e) { Log.d("MessagePack_Init:", e.getMessage()); return null; } return convParams; } private Unpacker read_parameters_MessagePack_Init(String name) { MessagePack msgpack = new MessagePack(); File f = new File(name); byte[] nbytes = null; try { FileInputStream fin = new FileInputStream(f); nbytes = new byte[(int)f.length()]; fin.read(nbytes); fin.close(); } catch (Exception e) { Log.d("MessagePack_Init:", e.getMessage()); return null; } ByteArrayInputStream in = new ByteArrayInputStream(nbytes); org.msgpack.unpacker.Unpacker unpack = msgpack.createUnpacker(in); return unpack; } }